package datastruct.map;

/**
 * @author RunningShrimp
 * @date 2021/5/16  21:42
 * @see <a href=""></a>
 */
public interface Map<K, V> {
    /**
     * 增加键值对
     *
     * @param key
     * @param value
     */
    void add(K key, V value);

    /**
     * 移除一个键
     *
     * @param key
     * @return
     */
    V remove(K key);

    /**
     * 是否包含
     *
     * @param key
     * @return
     */
    boolean contains(K key);

    /**
     * 根据键获取值
     *
     * @param key
     * @return
     */
    V get(K key);

    /**
     * 更新值
     *
     * @param key
     * @param value
     */

    void set(K key, V value);

    /**
     * 获取大小
     *
     * @return
     */
    int getSize();

    /**
     * 是否为空
     *
     * @return
     */
    boolean isEmpty();

}
